home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Night Owl 6
/
Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso
/
001a
/
com_and3.zip
/
DIAL.CMD
< prev
next >
Wrap
OS/2 REXX Batch file
|
1989-10-09
|
4KB
|
135 lines
; ----- COM-AND dial a string of any width
; -----------------------------------
; This script dials a string of any width, and performs the Alt-R
; function, waiting for connect or redial.
;
; The value in S0, if supplied, establishes the number being dialed.
; Modem speed, parity, data and stop bits must be set by the caller.
;
; Script: R.McG, commenced 9/89
; -----------------------------------
;
; If number is not supplied, query for it
;
IF NULL S0 ; Not passed as parm
WOPEN 10,1, 13,77 (contrast) Exit
ATSAY 11, 3 (contrast) "Enter the number to be dialed:"
ATSAY 12, 3 (contrast) "->"
ATSAY 13,26 (contrast) " Press ESC to exit"
ATGET 12,6 (contrast) 60 S0
WCLOSE ; Restore screen under
IF NULL S0 ; Null entry terminates script
GOTO EXIT ; No-op
ENDIF
ENDIF
GOTO Start
;
; Successful connection
;
Done:
CLOG "DIAL.CMD connect: "*S0
WCLOSE ; Close open window
SET SUCCESS ON ; Report success
SET RDISP ON ; Restore display
IF FCALLED FRETURN
EXIT
;
; Failed DIAL
;
Unavailable:
HANGUP
WCLOSE ; Close open window
SET SUCCESS OFF ; Report success
SET RDISP ON ; Restore display
IF FCALLED FRETURN
EXIT
;
; General exit (modem not connected yet)
;
Exit:
WCLOSE ; Close open window
SET RDISP ON ; Restore display
SET SUCCESS OFF ; Report success
IF FCALLED FRETURN
EXIT
;
; Initialize values
;
Start:
TIME S1 ; Redial sequaence start
S2 = S1 ; THis attempt start
S3 = S1 ; TIme now
S4 = "" ; Modem return string
N0 = 1 ; Attempt #
N1 = "_RDelay" ; Redial delay
RFLUSH ; Clear modem buffer
SET RDISP OFF ; Don't display
;
; Open a window to show progress
;
WOPEN 5,10 14,70 (default) Unavailable
ATSAY 5,12 (default) " COM-AND Connect (script) "
ATSAY 7,12 (default) "Number: "*S0(0:50)
ATSAY 8,12 (default) "Redial Started: "*S1
ATSAY 9,12 (default) "Call started: "*S2
ATSAY 10,12 (default) "Call #: "*N0
ATSAY 11,12 (default) "Call delay: "*N1
ATSAY 9,40 (default) "Time now: "*S3
ATSAY 11,40 (default) "Modem: "*S4(0:20)
ATSAY 13,12 (default) "Press space bar to cycle; ESC to cancel"
;
; Hangup, and transmit the dialing cmd
;
Loop:
TIME S2 ; Set current time
ATSAY 9,28 (default) S2 ; Display time
ATSAY 10,28 (default) N0 ; Display attempt #
ATSAY 10,40 (default) "Hanging up"
TRANSMIT "_MESCa"&"" ; Wake up the modem
TRANSMIT "_MHANg"&"" ; Hangup
ATSAY 10,40 (default) "Dialing "
PAUSE 5 ; Wait for modem to clear
TRANS "_DPRE"& S0& ""& "_DSUF"& "" ; Ensure trailing blanks deleted
;
; Wait for a response from the modem
;
ATSAY 10,40 (default) "Waiting "
SET TIMER (0)
Waiting:
TIME S3 ; Set current time
ATSAY 9,56 (default) S3 ; Display time
IF HITKEY GOTO Keyhit ; Skip if
RGET S5 1 1 ; Wait for one char one sec
IF SUCCESS ; We have a char
IF NULL S5 ; a c/r rtnd
S4 = "" ; Clear rcv string
ATSAY 11,47 (default) " "
ELSE
S4 = S4*S5
IF FIND S4 "_MCONN"&"" GOTO Done
ENDIF
ENDIF
ATSAY 11,47 (default) S4(0:20)
TSINCE (0) N2,N3,N4
N3 = N3*60+N2 ; Total # secs
IF LT N3 N1 GOTO Waiting ; If delay not exceeded
INC N0 ; Count the try
GOTO Loop ; Start new attempt
;
; Keypress is pending
;
Keyhit:
KEYGET S5 ; Read kbd
IF STRCMP S5 " " ; Space bar
INC N0 ; Count last attempt
GOTO Loop ; .. start new cycle
ENDIF
SOUND 100,100 ; Indicate failed
GOTO Waiting ; Continue otherwise